using Machine.Specifications;

namespace Unbound.Tests.Unbinding.Specifications.SimpleArrays
{
	[Subject("Unbinding")]
	public class simple_arrays : unbinding<int[]>
	{
		protected static readonly int[] _request = new[] {4, 8, 15, 16, 23, 42};

		Behaves_like<behavior> it_unbinded_properly;

		Establish the_request_is_an_array_of_simple_types =
			() =>
				{
					Prefix = "foo";
					Request = _request;
				};

		[Behaviors]
		protected class behavior : behavior<int[]>
		{
			It should_bind_type = () => Bound.ShouldBeOfType<int[]>();
			It should_bind_values = () => Bound.ShouldEqual(_request);
		}
	}
}